//package com.ruoyi.common.utils.pdf;
//
//import com.alibaba.fastjson.JSONObject;
//import com.spire.pdf.PdfDocument;
//import com.spire.pdf.PdfPageBase;
//import com.spire.pdf.graphics.*;
//import com.spire.pdf.widget.PdfPageCollection;
//
//import java.awt.*;
//import java.awt.geom.Dimension2D;
//import java.awt.geom.Point2D;
//import java.awt.geom.Rectangle2D;
//
///****
// * 扫描件加水印
// */
//public class SpireWaterMark {
//
//    public static void main(String[] args) {
//
//        // addWatermark("G:\\dist\\测试.pdf", "G:\\dist\\121.pdf", "1111机密文件123");
//        System.out.println("成功");
//       /* File f = new File("F:\\tmp\\2\\2\\");
//        if (!f.exists()) {
//            f.mkdirs();
//        }*/
//        Font[] font = getFont();
//        for (Font f : font) {
//            System.out.println(JSONObject.toJSONString(f));
//        }
//    }
//
//    /****
//     * 获取当前系统的字体
//     * @return
//     */
//    public static Font[] getFont() {
//        return GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
//    }
//
//    /****
//     *
//     * @param inPath 要添加文印的pdf  如：F:\tmp\12.pdf
//     * @param outPath  要输出的文件地址 如：F:\tmp\121.pdf
//     * @param content   水印内容
//     * @return
//     */
//    public static String addWatermark(String inPath, String outPath, String content) {
//
//        //创建PdfDocument类的对象
//        PdfDocument pdf = new PdfDocument();
//        //加载测试文档
//        pdf.loadFromFile(inPath);
//        //获取文档有多少页
//        PdfPageCollection page = pdf.getPages();
//        //调用insertWatermark()方法添加文本水印
//        for (int i = 0; i < page.getCount(); i++) {
//            insertWatermark(page.get(i), content);
//            // System.out.println("成功:  " + i);
//        }
//        //保存文档
//        pdf.saveToFile(outPath);
//        return outPath;
//    }
//
//    private static void insertWatermark(PdfPageBase page, String content) {
//        Dimension2D dimension2D = new Dimension();
//        PdfTrueTypeFont font1 = new PdfTrueTypeFont(new Font("楷体", Font.PLAIN, 30), true);
//        dimension2D.setSize(page.getCanvas().getClientSize().getWidth() / 2, page.getCanvas().getClientSize().getHeight() / 3);
//        PdfTilingBrush brush = new PdfTilingBrush(dimension2D);
//        brush.getGraphics().setTransparency(0.4F);
//        brush.getGraphics().save();
//        brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 5, (float) brush.getSize().getHeight() / 5);
//        brush.getGraphics().rotateTransform(-45);
//        brush.getGraphics().drawString(content, font1, PdfBrushes.getViolet(), 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
//        brush.getGraphics().restore();
//        brush.getGraphics().setTransparency(1);
//        Rectangle2D loRect = new Rectangle2D.Float();
//        loRect.setFrame(new Point2D.Float(0, 0), page.getCanvas().getClientSize());
//        page.getCanvas().drawRectangle(brush, loRect);
//    }
//
//}
